The functionality of many computing systems and other devices relies on effective display of information. More recently, the display has also been used in an interactive manner as a direct input device. For instance, the display might be a touch interface in which an object or finger might be placed in contact with the display to select an item on the display. Additionally, the user might input a gesture onto the display by moving the object in contact with the display in a desired manner. For example, to drag content on the display, the user might move the object from one portion of the display to another.
Computing devices may present lists of items to a user via a scrollable list presented on a display with a touch interface. For lists containing large numbers of items, various methods have been used to allow users to scroll through such lists quickly. For instance, many devices allow a user to use control movement of web page using drag and flick gestures.
Typically a user will want to scroll through content along a cardinal direction (vertically or horizontally) and does so using a series of drag and flick gestures. These gestures are generally not completely horizontal or vertical, especially when the device is small such as a mobile phone, for example. In this case the user may be the operating and holding the phone with one hand and gesturing with a thumb. As result, if the user intends to scroll the content vertically, for instance, the actual gesture may cause a small horizontal drift of the content, eventually pushing the content off the sides of the display. This problem can be addressed by “locking” the direction of motion based on certain thresholds imposed on the gesture, but even these thresholds still may too large to handle certain situations, such as when the user attempts to scroll by performing repeated, small flicking gestures.